<?php

defined('o') || exit('404 not find file'); //防跳墙
// 调用继承数据库父类
require_once('db.face.php');
// mysql 数据库类
class Mysqlite extends db
{
	private $conn; //数据库对象
	public function __construct($server)
	{
		if (is_string($server))
		{
			$this->conn = new SQLite3($server);
			return $this->conn;
		}
	}
	public function connect($string_dbname = '')
	{ 
		// 重新打开数据库前需关闭之前打开的数据库
		if (!empty($string_dbname))
		{
			$this->conn - close();
			$this->conn->open($string_dbname);
		}
	}
	/**
	 * * * 关闭连接，清理资源
	 */
	public function close()
	{
		return $this->conn->close();
	}
	/**
	 * * * 返回最新插入ID
	 */public function idlast()
	{
		return $this->conn->lastInsertRowID();
	}
	/**
	 * 取得前一次 MySQL 操作所影响的记录行数
	 */
	public function affectRow()
	{
		return $this->conn->changes();
	}
	/**
	 * * * 发送查询语句，返回真或假
	 */public function select($sql)
	{
		return $this->conn->querySingle($sql);
	}
	public function query($string_condition,$array_column,&$count)
	{
		$result = $this->conn->query($string_condition);
        $count = 0;
		if (!empty($result))
		{
			while ($row = $result->fetchArray(SQLITE3_ASSOC))
			{
				$array_temp = array();
				for($i = 0;$i < count($array_column);$i++)
				{
					$array_temp [$array_column[$i]] = $row[$array_column[$i]];
				}
				$array_resource [] = $array_temp;
                                $count++;
			}
			return empty($array_resource) == false ? $array_resource:false;
		}
		else
		{
			return false;
		}
	}
	/**
	 * * * 发送查询语句返回多行数据(多维)
	 * $string_table  表名
	 * $array_column  需显示的列表字段 
	 * $string_condition  条件
	 */
	public function query_once($string_table, $array_column, $string_condition)
	{
		$result = $this->conn->query('select ' . join(',', $array_column) . ' from ' . $string_table . ' ' . $string_condition . ' LIMIT 1 ');

		if (!empty($result))
		{
			while ($row = $result->fetchArray(SQLITE3_ASSOC))
			{
				$array_temp = array();
				for($i = 0;$i < count($array_column);$i++)
				{
					$array_temp [$array_column[$i]] = $row[$array_column[$i]];
				}
				$array_resource [] = $array_temp;
			}
			return empty($array_resource) == false ? $array_resource:false;
		}
		else
		{
			return false;
		}
	}
	/**
	 * * * 发送查询语句返回多行数据(多维)
	 * $string_table  表名
	 * $array_column  需显示的列表字段 
	 * $string_condition  条件
	 */
	public function query_many($string_table, $array_column, $string_condition)
	{
		$result = $this->conn->query('select ' . join(',', $array_column) . ' from ' . $string_table . ' ' . $string_condition);

		if (!empty($result))
		{
			while ($row = $result->fetchArray(SQLITE3_ASSOC))
			{
				$array_temp = array();
				for($i = 0;$i < count($array_column);$i++)
				{
					$array_temp [$array_column[$i]] = $row[$array_column[$i]];
				}
				$array_resource [] = $array_temp;
			}
			return empty($array_resource) == false ? $array_resource:false;
		}
		else
		{
			return false;
		}
	}
	/**
	 * * * 发送插入语句
	 */public function insert($string_table, $array_column)
	{
		$bools = $this->conn->query('insert into ' . $string_table . ' (' . join(',', array_keys($array_column)) . ') values(\'' . join('\',\'', array_values($array_column)) . '\')');
		if ($bools)
		{
			return $this->affectRow() > 0 ? $this->affectRow() : false;
		}
		return false;
	}
	/**
	 * * * 发送修改语句
	 */public function update($string_table, $array_column, $string_condition)
	{
		$vals = array();
		foreach($array_column as $key => $val)
		{
			$vals[] = $key . '=\'' . $val . '\'';
		}
		$bools = $this->conn->query('update ' . $string_table . ' set ' . join(',', $vals) . 'where ' . $string_condition);
		if ($bools)
		{
			return $this->affectRow() > 0 ? $this->affectRow() : false;
		}
		return false;
	}
	/**
	 * * * 删除数据
	 */public function delete_data($string_table, $string_condition)
	{
		$bools = $this->conn->query('delete from ' . $string_table . ' where ' . $string_condition);
		if ($bools)
		{
			return $this->affectRow() > 0 ? $this->affectRow() : false;
		}
		return false;
	}
	/**
	 * * * 选择控制的数据库
	 */public function select_db($string_dbname)
	{ 
		// 重新打开数据库前需关闭之前打开的数据库
		// $this->conn->open($string_dbname);
	}
	/**
	 * 设置数据库编码
	 */
	public function setnames($codename)
	{ 
		// return $this -> conn -> querySingle($codename);
	}
}

?>